using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public enum ItemCategory
{
    error,
    Consumable,    // 消耗品
    Equipment,     // 装备
    Material,      // 材料
    Quest,         // 任务物品
    Miscellaneous  // 杂项
}
[Serializable]
public class Item
{
    public string ItemName { get; set; }
    // 物品类别（使用枚举类型）
    public ItemCategory ItemCategory { get; set; }
    // 物品ID
    public string ItemId { get; set; }
    // 物品详细介绍
    public string ItemDescription { get; set; }
    // 物品图片
    public Image ItemImage { get; set; }
    //能否堆叠
    public bool ItemCanStacked = false;
    //数量
    public int ItemQuantity = 1;
    //物品码 在创建item后由物品管理器注册给予
    public int Itemcnt = -1;

    // 默认构造函数
    public Item()
    {
        ItemName = "No ItemName";
        ItemCategory = ItemCategory.error;
        ItemId = "No ItemId"; // 生成唯一ID
        ItemDescription = "No ItemDescription ";
        ItemImage = null;
        ItemCanStacked = false;
        ItemQuantity = 1;
        Itemcnt = -1;
    }
    // 带参数的构造函数，方便初始化  名称 类别 id 介绍 图片 是否堆叠 堆叠数量
    public Item(string name, ItemCategory category, string Id , string description,Image image=null,bool CanStacked =false,int Quantity=1)
    {
        ItemName = name;
        ItemCategory = category;
        ItemId = Id;
        ItemDescription = description;
        ItemImage= image;
        ItemCanStacked=CanStacked; 
        ItemQuantity=Quantity;
    }
}
